DEFINITION MODULE coErrors; (* Ned 12-Apr-90. (c) KRONOS *)

TYPE T=(

  blank       ,              -- пустое сообщение
  ill_char    ,(*=  13;*)    -- Непонятный знак игнорируется
  ill_comment ,(*=  66;*)    -- Незакрытый коментарий, начавшийся в строке
  ill_num     ,(*=  11;*)    -- Отсутствует 'h' после шестнадцатеричного
  ill_string  ,(*=  12;*)    -- Незакрытая или неправильная строка
  ill_expr    ,(*=  37;*)    -- Неправильное выражение
  ill_decl    ,(*=  39;*)    -- Ошибка в описаниях
  ill_type    ,(*=  39;*)    -- Ошибка в конструкторе типа
  ill_header  ,(*=  06;*)    -- Неправильный заголовок модуля

  unexpc_eof  ,(*=  04;*)    -- Неожиданный конец исходного текста!
  ident       ,(*=  07;*)    -- Должен быть идентификатор
  symbol      ,(*=  08;*)    -- Должен быть символ

  overflow    ,(*=  04;*)    -- Переполнение в константном выражении
  underflow   ,(*=  09;*)    -- Исчерпание в константном выражении

  invisible   ,(*=  14;*)    -- Невидимый объект
  recursive   ,(*=  17;*)    -- Рекурсивное определение объекта
  duplicate   ,(*=  15;*)    -- Повторно объявлен
  ill_export  ,(*=  15;*)    -- Экспорт невозможен. Объект уже объявлен
  dup_forward ,(*=  15;*)    -- Повторное предварительное описание

  incompatible,(*=  21;*)    -- Несовместимость типов
  type        ,(*=  19;*)    -- Должен быть тип
  scalar      ,(*=  14;*)    -- Должен быть скалярный тип
  simple      ,(*=  15;*)    -- Должен быть простой (1 слово) тип
  type_transfer,(*=  20;*)   -- Недопустимое преобразование типа
  ill_base    ,(*=  19;*)    -- Некорректный базовый тип
  ill_hidden  ,(*=  19;*)    -- Недопустимая реализация скрытого типа
  huge_type   ,(*=  19;*)    -- Слишком большой размер типа
  parm_quan   ,(*=  18;*)    -- Неправильное число параметров
  parm_spec   ,(*=  18;*)    -- Неправильный спецификатор параметра

  statement   ,(*=  34;*)    -- Должен быть оператор
  const_expr  ,(*=  42;*)    -- Должно быть константное выражение

-- sym:
  sym_header  ,(*=  55;*)    -- Ошибка в заголовке симфайла
  sym_vers    ,(*=  56;*)    -- Некорректная версия симфайла
  sym_data    ,(*=  61;*)    -- Некорректная информация в симфайле
  sym_language,(*=  62;*)    -- Такого языка программирования не знаю
  sym_times   ,(*=  78;*)    -- Конфликт версий (по времени компиляции)
  sym_future  ,(*=  25;*)    -- Модуль из будущего

-- pars:

  block_name  ,(*=  08;*)    -- Должно быть имя блока
  unimpl_proc ,(*=  32;*)    -- Нереализованная процедура
  func_call   ,(*=  33;*)    -- Вызов функции в позиции оператора
  proc_call   ,(*=  35;*)    -- Вызов процедуры в выражении

  val_in_type ,(*=  38;*)    -- Спецификатор VAL недопустим в процедурном типе
  not_in_def  ,(*=  40;*)    -- Недопустимо в определяющем модуле
  only_in_def ,(*=  41;*)    -- Допустимо только в определяющем модуле
  only_in_cu  ,(*=  41;*)    -- Разрешено только на уровне единицы компиляции

  unimplement ,(*=  16;*)    -- Нереализовано

  no_address  ,(*=  29;*)    -- Не обладает адресом
  no_value    ,(*=  30;*)    -- Не обладает значением

  array       ,(*=  28;*)    -- Должен быть массив
  record      ,(*=  32;*)    -- Должна быть запись
  pointer     ,(*=  32;*)    -- Должен быть указатель
  set         ,(*=  32;*)    -- Должно быть множество
  variable    ,(*=  27;*)    -- Должна быть переменная
  procedure   ,(*=  27;*)    -- Должна быть процедура
  module      ,(*=  27;*)    -- Должен быть модуль

  bounds_check,(*=  44;*)    -- Выход за границы диапазона
  readonly    ,(*=  58;*)    -- Присваивание VAL переменной (Только Для Чтения);*)
  ill_range   ,(*=  09;*)    -- Неправильный (неконстантный) или вырожденный отрезок
  ill_exit    ,(*=  41;*)    -- EXIT вне LOOP'а
  dup_label   ,(*=  61;*)    -- Такая метка уже была
  empty_case  ,(*=  64;*)    -- В CASE нужна хоть одна альтернатива;*)
  loop_var    ,(*=  64;*)    -- Переменная цикла должна быть локальной
  no_RTS      ,(*=  69;*)    -- Недоступная RTS процедура

  restriction ,(*=  51;*)    -- Ограничение транслятора

  XXX);

END coErrors.
